using System;
using System.Collections.Generic;
using System.Text;

namespace Microsoft.Office.Project.EPMSync.Config.Library
{
    public sealed class BuiltInFields
    {
        private BuiltInFields() { }

        public static string[] FieldNames = { "PROJ_INFO_CURRENT_DATE",
                                            "PROJ_INFO_FINISH_DATE",
                                            "PROJ_INFO_SCHED_FROM",
                                            "PROJ_INFO_START_DATE",
                                            "PROJ_INFO_STATUS_DATE",
                                            "PROJ_OPT_CALC_ACT_COSTS",
                                            "PROJ_OPT_CRITICAL_SLACK_LIMIT",
                                            "PROJ_OPT_DAYS_PER_MONTH",
                                            "PROJ_OPT_DEF_FIX_COST_ACCRUAL",
                                            "PROJ_OPT_DEF_OVT_RATE",
                                            "PROJ_OPT_DEF_STD_RATE",
                                            "PROJ_OPT_DEF_TASK_TYPE",
                                            "PROJ_OPT_DUR_ENTRY_FMT",
                                            "PROJ_OPT_FY_START_MONTH",
                                            "PROJ_OPT_FY_USE_START_YR",
                                            "PROJ_OPT_HONOR_CONSTRAINTS",
                                            "PROJ_OPT_MINUTES_PER_DAY",
                                            "PROJ_OPT_MINUTES_PER_WEEK",
                                            "PROJ_OPT_MOVE_ACTUAL_IF_LATER",
                                            "PROJ_OPT_MOVE_ACTUAL_TO_STATUS",
                                            "PROJ_OPT_MOVE_REMAINING_IF_EARLIER",
                                            "PROJ_OPT_MOVE_REMAINING_TO_STATUS",
                                            "PROJ_OPT_MULT_CRITICAL_PATHS",
                                            "PROJ_OPT_NEW_TASK_EST",
                                            "PROJ_OPT_NEW_TASKS_ARE_EFFORT_DRIVEN",
                                            "PROJ_OPT_SHOW_EST_DUR",
                                            "PROJ_OPT_SPLIT_IN_PROGRESS",
                                            "PROJ_OPT_SPREAD_ACT_COSTS",
                                            "PROJ_OPT_SPREAD_PCT_COMP",
                                            "PROJ_OPT_TASK_UPDATES_RES",
                                            "PROJ_OPT_WEEK_START_DAY",
                                            "PROJ_OPT_WORK_ENTRY_FMT",
                                            "PROJ_PROP_AUTHOR",
                                            "PROJ_PROP_CATEGORY",
                                            "PROJ_PROP_COMPANY",
                                            "PROJ_PROP_KEYWORDS",
                                            "PROJ_PROP_MANAGER",
                                            "PROJ_PROP_SUBJECT",
                                            "PROJ_PROP_TITLE",
                                            "PROJ_PROTECTED_ACTUALS_SYNCH",
                                            "ProjectOwnerID",
                                            "WPROJ_DESCRIPTION",
                                            "WPROJ_TRACKING_METHOD"
                                            };

        public static bool IsFieldValid(string fieldToCheck)
        {
            foreach (string fieldName in BuiltInFields.FieldNames)
            {
                if (fieldToCheck == fieldName)
                    return true;
            }
            return false;
        }
    }
}
